import type { AppRouteModule } from '@/router/types';

import { LAYOUT } from '@/router/constant';
// import { t } from '@/hooks/web/useI18n';

// prettier-ignore
const subRouter: AppRouteModule =
  { path: '/learn', name: 'learn', component: LAYOUT, meta: { icon: 'ion:book', title: '框架学习', orderNo: 1, }, children: [
    { path: '/components', name: 'components', component: LAYOUT, meta: { icon: 'ion:book', title: '常用组件', orderNo: 1, }, children: [
      { path: 'button', name: 'button', meta: { icon: 'ion:radio-button-on', title: '按钮', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/button/Button.vue'), },
      { path: 'vbenForm', name: 'vbenForm', meta: { icon: 'ion:logo-windows', title: 'vben-表单', ignoreKeepAlive: false, }, children: [
          { path: 'doc', name: 'iconDoc',meta: { title: '使用文档', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/all-doc.vue'), },
          { path: 'inputAll', name: 'inputAllVForm',meta: { title: 'input', ignoreKeepAlive: false, },  children: [
            { path: 'input', name: 'inputVForm',meta: { title: 'input', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-input.vue'),},
            { path: 'inputTextArea', name: 'inputTextAreaVForm',meta: { title: 'inputTextArea', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-inputTextArea.vue'), },
            { path: 'inputPassword', name: 'inputPasswordVForm',meta: { title: 'inputPassword', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-inputPassword.vue'), },
            { path: 'inputNumber', name: 'inputNumberVForm',meta: { title: 'inputNumber', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-inputNumber.vue'), },
            { path: 'inputSearch', name: 'inputSearchVForm',meta: { title: 'inputSearch', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-inputSearch.vue'), },
            { path: 'inputIcon', name: 'inputGroupVForm',meta: { title: 'inputIcon', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-inputIcon.vue'), },
            { path: 'inputCount', name: 'inputCountVForm',meta: { title: 'inputCount', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-inputCount.vue'), },
          ]},
          { path: 'selectAll', name: 'selectAllVForm',meta: { title: 'select', ignoreKeepAlive: false, },  children: [
            { path: 'select', name: 'selectVForm',meta: { title: 'select', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-select.vue'),},
            { path: 'selectApi', name: 'selectApiVForm',meta: { title: 'selectApi', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-selectApi.vue'), },
            { path: 'selectTree', name: 'selectTreeVForm',meta: { title: 'selectTree', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-inputTextArea.vue'), },
          ]},
          { path: 'radio', name: 'radioVForm',meta: { title: 'radio', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-radio.vue'), },
          { path: 'switch', name: 'switchVForm',meta: { title: 'switch', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-switch.vue'), },
          { path: 'slider', name: 'sliderVForm',meta: { title: 'slider', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-slider.vue'), },
          { path: 'rate', name: 'rateVForm',meta: { title: 'rate', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-rate.vue'), },
          { path: 'checkbox', name: 'checkboxVForm',meta: { title: 'checkbox', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-checkbox.vue'), },
          { path: 'datepicker', name: 'datepickerVForm',meta: { title: 'datepicker', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-datepicker.vue'), },
          { path: 'file', name: 'fileVForm',meta: { title: 'file', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-select.vue'), },
          { path: 'image', name: 'imageVForm',meta: { title: 'image', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-select.vue'), },
          { path: 'avatar', name: 'avatarVForm',meta: { title: 'avatar', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/form/vben/v-select.vue'), },
        ], },
      { path: 'icon', name: 'icon', meta: { icon: 'ion:logo-windows', title: '图标', ignoreKeepAlive: false, }, children: [
          { path: 'doc', name: 'iconDoc',meta: { title: '使用文档', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/icon/all-doc.vue'), },
          { path: 'antd', name: 'iconAntd',meta: { title: 'antd图标', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/icon/icon-antd.vue'), },
          { path: 'svg', name: 'iconSvg',meta: { title: 'svg图标', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/icon/icon-svg.vue'), },
          { path: 'iconify', name: 'iconIconify',meta: { title: 'iconify图标', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/icon/icon-iconify.vue'), },
          { path: 'picker', name: 'iconPicker',meta: { title: '图标选择器', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/icon/icon-picker.vue'), },
        ], },
      { path: 'modal', name: 'modal', meta: { icon: 'ion:logo-windows', title: '弹窗', ignoreKeepAlive: false, }, children: [
          { path: 'doc', name: 'modalDoc',meta: { title: '使用文档', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/modal/all-doc.vue'), },
          { path: 'simple', name: 'modalSimple',meta: { title: '简单用法', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/modal/open_simple.vue'), },
          { path: 'sendData', name: 'modalSendData', component: () => import('/@/learn/components/modal/open_sendData.vue'), meta: { title: '向弹窗传送数据', ignoreKeepAlive: false, }, },
          { path: 'recieveData', name: 'modalRecieveData', component: () => import('/@/learn/components/modal/open_recieveData.vue'), meta: { title: '接收弹窗返回数据', ignoreKeepAlive: false, }, },
        ], },
      { path: 'drawer', name: 'drawer', meta: { icon: 'ion:logo-windows', title: '抽屉', ignoreKeepAlive: false, }, children: [
          { path: 'doc', name: 'drawerDoc',meta: { title: '使用文档', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/drawer/all-doc.vue'), },
          { path: 'detail', name: 'drawerDetail',meta: { title: '详情抽屉', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/drawer/open_detail.vue'), },
          { path: 'dynamic', name: 'drawerDetailDynamic',meta: { title: '动态详情抽屉', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/drawer/open_detailDynamic.vue'), },
          { path: 'formInsert', name: 'drawerFormInsert',meta: { title: '表单新增抽屉', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/drawer/open_formInsert.vue'), },
          { path: 'formUpdate', name: 'drawerFormUpdate',meta: { title: '表单更新抽屉', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/drawer/open_formUpdate.vue'), },
        ], },
      { path: 'message', name: 'message', meta: { icon: 'ion:alert-circle', title: '消息提示', ignoreKeepAlive: false, }, children: [
          { path: 'tips', name: 'messageTips', meta: { title: 'message-提示消息', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/prompt/message_tips.vue'), },
          { path: 'modal', name: 'messageModal', meta: { title: 'modal-窗口消息', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/prompt/message_modal.vue'), },
          { path: 'notify', name: 'messageNotify', meta: { title: 'notify-通知消息', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/prompt/message_notify.vue'), },
          { path: 'tooltips', name: 'messageTooltips', meta: { title: 'tooltips-文字提示', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/prompt/message_toolTips.vue'), },
          { path: 'popCard', name: 'messagePopCard', meta: { title: 'popCard-气泡卡片', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/prompt/message_popCard.vue'), },
          { path: 'popConfirm', name: 'messagePopConfrim',meta: { title: 'popConfirm-气泡确认框', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/prompt/message_popConfirm.vue'),  },
        ], },
      { path: 'container', name: 'container', meta: { icon: 'ion:md-grid', title: '容器', ignoreKeepAlive: false, }, children: [
          { path: 'collapse', name: 'collapseContainer', meta: { title: '折叠容器', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/collapse.vue'), },
          { path: 'scroll', name: 'scrollContainer', meta: { title: '滚动容器', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/scroll.vue'), },
          { path: 'json', name: 'jsonContainer', meta: { title: 'Json预览插件', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/json.vue'), },
          { path: 'code', name: 'codeContainer', meta: { title: '代码块插件', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/code.vue'), },
          { path: 'markdown', name: 'markdownContainer', meta: { title: 'markdown预览插件', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/markdown.vue'), },
        ], },
      { path: 'table', name: 'table', meta: { icon: 'ion:md-grid', title: '表格', ignoreKeepAlive: false, }, children: [
          { path: 'doc', name: 'tableDoc', meta: { title: '使用文档', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/all-doc.vue'), },
          { path: 'basic', name: 'basic', meta: { title: '基础表格', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/button/Button.vue'), },
          { path: 'pager', name: 'pager', meta: { title: '分页表格', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/button/Button.vue'), },
          { path: 'editCell', name: 'editCell', meta: { title: '可编辑单元格', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/button/Button.vue'), },
          { path: 'editCell', name: 'editCell', meta: { title: '可编辑行', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/button/Button.vue'), },
        ], },
    ]},
    { path: '/test', name: 'test', component: LAYOUT, meta: { icon: 'ion:book', title: '测试', orderNo: 1, }, children: [
        { path: 'test', name: 'justTest', meta: { title: '测试页面', ignoreKeepAlive: false, }, component: () => import('/@/learn/test/test.vue'), },
        { path: 'controller', name: 'testController', meta: { title: 'ControllerDemo', ignoreKeepAlive: false, }, component: () => import('/@/learn/test/testController.vue'), },
      ]},
    { path: '/vue3', name: 'vue3', component: LAYOUT, meta: { icon: 'ion:book', title: 'vue3语法', orderNo: 1, }, children: [
        { path: 'reactive', name: 'reactive', meta: { icon: 'ion:md-grid', title: '响应式对象', ignoreKeepAlive: false, }, children: [
            { path: 'docs', name: 'reactiveDocs', meta: { icon: 'ph:note', title: '文档', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/reactive/all-docs.vue'), },
            { path: 'refDemo', name: 'refDemo', meta: { title: 'ref', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/reactive/ref-demo.vue'), },
            { path: 'reactiveDemo', name: 'reactiveDemo', meta: { title: 'reactive', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/reactive/reactive-demo.vue'), },
            { path: 'compute', name: 'compute', meta: { title: 'compute', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/reactive/compute-demo.vue'), },
          ]},
        { path: 'watch', name: 'watch', meta: { icon: 'ion:md-grid', title: '监视器', ignoreKeepAlive: false, }, children: [
            { path: 'docs', name: 'watchDocs', meta: { icon: 'ph:note', title: 'docs', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/watch/all-docs.vue'), },
            { path: 'ref', name: 'watchRef', meta: { title: 'watch ref对象', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/watch/watch-ref.vue'), },
            { path: 'reactive', name: 'watchReactive', meta: { title: 'watch reactive对象', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/watch/watch-reactive.vue'), },
            { path: 'getter', name: 'watchGetter', meta: { title: 'watch getter 函数', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/watch/watch-getter.vue'), },
            { path: 'array', name: 'watchArray', meta: { title: 'watch array', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/watch/watch-array.vue'), },
            { path: 'watchEffect', name: 'watchEffectArray', meta: { title: 'watchEffect', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/watch/watchEffect.vue'), },
          ]},
        { path: 'communication', name: 'communication', meta: { icon: 'ion:md-grid', title: '组件通信', ignoreKeepAlive: false, }, children: [
            { path: 'docs', name: 'communicationDocs', meta: { icon: 'ph:note', title: 'docs', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/communication/all-doc.vue'), },
            { path: 'props', name: 'propsCommunication', meta: { title: 'props-父传子', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/communication/props/index.vue'), },
            { path: 'emits', name: 'emitsCommunication', meta: { title: 'emits-子传父', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/communication/emits/index.vue'), },
            { path: 'expose', name: 'exposeCommunication', meta: { title: 'expose-父子互传', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/communication/expose/index.vue'), },
            { path: 'model', name: 'modelCommunication', meta: { title: 'model-父传子', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/communication/model/index.vue'), },
            { path: 'attrs', name: 'attrsCommunication', meta: { title: 'attrs-祖传孙', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/communication/attrs/index.vue'), },
            { path: 'provider', name: 'providerCommunication', meta: { title: 'provider&inject-祖传孙', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/communication/provider/index.vue'), },
          ]},
          { path: 'pinia', name: 'pinia', meta: { icon: 'ion:md-grid', title: 'pinia', ignoreKeepAlive: false, }, children: [
            { path: 'docs', name: 'piniaDocs', meta: { icon: 'ph:note', title: 'docs', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/pinia/all-docs.vue'), },
            { path: 'install', name: 'installPinia', meta: { title: 'pinia-安装', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/pinia/install.vue'), },
            { path: 'basic', name: 'basicPinia', meta: { title: '基本用法', ignoreKeepAlive: false, }, component: () => import('/@/learn/vue3/pinia/basic.vue'), },
          ]},
    ]},
    { path: '/ts', name: 'ts', component: LAYOUT, meta: { icon: 'ion:book', title: 'Ts 常用语法', orderNo: 1, }, children: [
        { path: 'basicType', name: 'basic', meta: { icon: 'ion:md-grid', title: '基础类型', ignoreKeepAlive: false, }, children: [
            { path: 'array', name: 'array', meta: { title: '数组', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/all-doc.vue'), },
            { path: 'number', name: 'number', meta: { title: '数字', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/all-doc.vue'), },
            { path: 'string', name: 'string', meta: { title: '字符串', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/all-doc.vue'), },
          ]},
        { path: 'collection', name: 'collection', meta: { icon: 'ion:md-grid', title: '集合类型', ignoreKeepAlive: false, }, children: [
            { path: 'set', name: 'set', meta: { title: 'set', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/all-doc.vue'), },
            { path: 'map', name: 'map', meta: { title: 'map', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/all-doc.vue'), },
          ]},
        { path: 'utils', name: 'utils', meta: { icon: 'ion:md-grid', title: '工具类', ignoreKeepAlive: false, }, children: [
            { path: 'dateUtil', name: 'dateUtil', meta: { title: '日期工具', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/all-doc.vue'), },
            { path: 'json', name: 'Json', meta: { title: 'JSON工具', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/all-doc.vue'), },
            { path: 'string', name: 'string', meta: { title: '字符串工具', ignoreKeepAlive: false, }, component: () => import('/@/learn/components/container/all-doc.vue'), },
          ]},
      ]},
  ]};
export default subRouter;
